「為什麼會想學潛水(Scuba Diving)?」
「因為陸地上太吵了,海裡面很安靜,我才可以專心想事情。」
五年前我學潛水時,問一位前輩當時他學潛水的初衷。他這樣告訴我。
當你潛的越深入,周遭的一切越安靜,越要冷靜專注,不能緊張分心。
離開H社後,曾經在S社待過一段時間,那是一個研究型單位,暑假team裡面來了幾位intern,要讓我來帶。其中一位B學弟,第二天就問我,
B君:「學長,你們一整天都在螢幕前都不講話,不會很無聊嗎?」
他一下問我們要不要訂飲料,一下子找人約時間打羽球,不然就是去隔壁team串門子。
但我交代他要看的東西,到最後一天還看不到一半,一問三不知。
我:「如果你把我交代給你的事情看一看,就不會無聊了」
到最後,當然我交代的事情還是沒看,就Happy的離開回美國去了。
當然那時候的我還不知道什麼叫做引導,完全是錯誤的教練。
後來我去查「專注」這件事情。
才發現專注不是每個人都有,切確的說,很多人沒有對一件事情廢寢忘食的經驗。也就是心理學上所說的「神馳」。
心流(英語:Flow),也有別名以化境(Zone)表示,亦有人翻譯為神馳狀態,是指我們在做某些事情時,那種全神貫注、投入忘我的狀態。這種狀態下,你甚至感覺不到時間的存在,在這件事情完成之后我們會有一種充滿能量並且非常滿足的感受。(from 維基百科)
心流是體驗式學習的最高境界。
完全沒有因為迷惑、重複、繁雜的任務而引起的煩躁或無聊。
那心流可否練習?
我認為是可以的。
大部分的人一定有過,當工作一段時間後,身心都感到疲乏,你就會想放一個長假,然後長假充電完回來後,又是一尾活龍,可以至少專注一週在工作上。(笑)
從事你自己覺得很習慣,很舒服,很感興趣的事情,就容易專注在其中,透過不斷這樣的事件去練習,就有機會進入心流領域。
08年因為金融風暴,我透過騎行,開啟我與台灣的對話。
http://travel.yam.com/Article.aspx?sn=23966 (抱怨一下,天空blog 10/1號開始把所有blog帳號文章都刪了,8月底才通知,完全來不及備份,目前只剩這篇文章XD)
即使那時候有很多網路上的車友,已經成功環島過,我依然對於環島的準備,還是戰戰兢兢,不敢鬆懈。
旅途上藉由與各地好友的會面,讓這趟旅程充滿意義;突如其來的事件,坦然接受一切,並感受當下,賦予這趟環島新的詮釋。
「騎車的時候在想什麼? 」
很多朋友知道我在長途騎行,都會這樣問我。
其實也沒想什麼,只知道時間很快就過去。因為我專注在其中,進入「神馳」的狀態而不自知。
這就是最好的練習方式。藉由你自己喜歡的事情來開始。
我:「你們喜歡爬山嗎? 六日找一天我們team去爬山?」
千萬不要隨便說出六日約同事一起出去的請求(大家都有自己的休閒生活),除非團隊已經有一定的凝聚力。
我:「三千公尺以上的有爬過嗎? 這個L君應該很有經驗。」
「上次S君有跟你一起去,可以這次也找S君一起。」
我:「S君爬完後,就跟我說沒有下次了。我們這次還是從簡單的開始。」
我:「金面山你們有爬過嗎?」
「有啊。我那張照片就是在剪刀石上面拍的…」
「這禮拜我們要去司馬庫斯…」
這樣的對話看似沒有意義,卻是先讓同仁回憶起過往的美好成功經驗,期望將這樣的情緒延續到現在的工作上,這是對人本身的探求。
在整理一下我們前幾篇所說的,在探索冰山時,我們該注意:
我們再舉些例子。
① 任務前的Coaching
情境: 有A、B、C三個任務,你最開始為什麼選擇先做C任務?
L君:「因為任務C的需求滿清楚的,看起來前端可以先動工。」
我:「所以你A、B、C三個任務需求都大致清楚了?」
L君:「A、B任務還不太清楚。」
我:「要不要試著先跟PM釐清每個任務的優先等級與時程,再決定哪一個任務先做?」
L君:「好的,我跟PM確認一下。」
不是責備,而是善意的提醒。
情境: Q4要不要試著把新技術W一起導入到平台M?
K君:「Q4的任務已經有A、B兩項,可能沒有時間再做其他的。」
我:「是喔,哪要不先試著分析技術W導入平台M的scope看看?」
K君:「我還是先弄A、B任務吧,還沒有時間分析。Bug很多。」
我:「A、B任務有遇到問題,要不拿出來討論一下。雖然我可能無法給你實質的幫助,但你很需要精神糧食的激勵。」
K君:「你說的精神糧食是這個嗎?」
同事傳了一張美女圖的連結。
我:「看你有精神多了。很好。」
K君:「恩。我先自己分析一次。有問題再跟你說。」
雖然這次沒有coaching到問題的本質,但本來就不是要解決問題,而是想探究同仁所遇到的困境,關心他的近況。
② 工作中的Coaching
情境: 當我去改動子層Props的default值時,不管怎麼改,都還是父層傳進去的那個props值?
我:「關於這一點,T君(資深成員)你有什麼想法嗎?」
T君:「因為props在元件內你設定的default值,是當你父層沒有給props值的時候,才會取用的;如果你父層有給props的值,就會以父層的props為優先。」
我:「這樣能夠理解嗎?」
I君:「恩…」
我:「簡單的說,去早餐店點過漢堡吧? 有些早餐店的漢堡default沒有洋蔥,但若你想要洋蔥,可以在order單上註明(加洋蔥)是吧? 這就像是父層直接值,這時候不管這家店的漢堡原本有沒有加洋蔥,最後你拿到的漢堡都會加洋蔥。」
I君:「這…好像懂了。」
用生活經驗法則去映射要說明的問題。
情境: 如何定義遞迴函式中要return的資料格式?
S君:「我先定義出一個object,裡面的key都是一個一個陣列。但return的時候會放入堆疊中,這樣又變成了陣列,這裡我就卡住,因為跟最後要render的格式又不同了。」
我:「你說最後又變成了陣列,是什麼意思?」
S君:「就是遞迴每一次return的值,會放入堆疊中,然後先進後出。」
我:「這句話要修正一下。是每一次呼叫遞迴的function,會被放入堆疊中,然後先進(開始執行)後出(結束執行)。但return資料並不是。」
S君:「return資料不是嗎?」
我:「遞迴return的資料類似像array reduce一樣,是累加的。」
S君:「喔,是累加的,我懂了。」
我:「你已經抓到這程式的脈絡。我相信以你現在的進度,這週寫出來沒有問題。」
藉由不斷探索發現同仁真正的問題,然後利用同仁他熟悉的自身經驗,去詮釋對他而言的新的概念。然後給予適當的鼓勵。
③ 工作結束後的Coaching
情境: 這一個sprint你自己覺得遇到最大的問題是什麼?
L君:「實際執行每個任務時,發現所需要的時間比原先要多很多。」
我:「那有辦法在下次提早預估出比較準確的可能執行時間嗎?」
L君:「我盡量。但有時候因為還不了解全貌,評估無法很精確。」
我:「但是不是能試試看在sprint的中間訂個milestone做check point?然後跟我sync一下,看可以怎麼安排?」(refinement)
L君:「恩,這應該可以做得到。」
引導member到正確的方向,每個sprint進步一點,不強求一次就解決全部問題。
最後強調幾點,在引導學習的過程中,不外乎下定目標、注重細節、灌注意志、保持衝勁、Stay focus(說三次)、並且每天至少學到一個新的東西。